<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //js的运算符有哪些？
        
        // 1.算术运算符  + - * / %  
        // 2.逻辑运算符  与 &&  或 ||  非 ！  位移 ->   优先级 ！> && > ||
        //  与 &&口诀：真真得真，真假得假（只要一个为假即为假），结果是就近原则，结果有假的情况下是就近原则（得到离变量最近的假的值）
        //  结果都为真的情况，拿的是离变量最远的那个真的值
        //  与 ||口诀：假假得假，真假得真（只要一个为真即为真），结果有真的情况下是就近原则（得到离变量最近的真的值）
        //  结果都为假的情况，拿的是离变量最远的那个假的值
        // 3.比较运算符  > <  <= >= == === != !== 连字符（Fira Code）
        // ==双等于（只判断两边的值是否相等）  === 完全等于区别（1.判断值是否相等 2.判断类型是否相等）
        // 4.一元运算符 ++ -- 
        // 5.赋值运算符 = += -= /= %= *=


        console.log(null==undefined);  //true
        console.log(null===undefined); //false
        console.log(null==0); // false

        var a = 20;
        var b = 30;
        console.log(a+b);

        var c = 0||3>4&&true||4<8||"true"&&!0
        // var c = 0||false||4<8||true

        console.log(0||3>4&&true||4<8||"true"&&!0);
        // console.log("true"&&!0);
        // console.log("12121"||12||"abc"||0||undefined);
        // console.log(false||""||null||0||undefined);
        // console.log(Boolean(undefined));
        // console.log(Boolean(null));

        console.log(5>3&&123&&6>3&&true&&"abc"); // 
        
        
        
        
        
        
    </script>
</body>
</html>